package com.oig.sys.auth.dao;

import com.oig.sys.auth.entity.TbSystem;
import com.oig.sys.auth.vo.SystemVo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.List;

/**
@author wuxl
*/
public interface ITbSystemDao extends JpaRepository<TbSystem, Integer>, JpaSpecificationExecutor<TbSystem> {

	TbSystem getTbSystemById(Integer id);

	@Query("select new com.oig.sys.auth.vo.SystemVo(s.id,s.systemCode,s.systemName,s.imageId,s.imageUrl,s.status,s.sort, s.noDelFlag, s.systemType,s.systemUrl) " +
			" from TbSystem s where s.id in(:idList)")
	List<SystemVo> findAllByIds(@Param("idList") List<Integer> idList);


	@Query("select new com.oig.sys.auth.vo.SystemVo(s.id,s.systemCode,s.systemName,s.imageId,s.imageUrl,s.status,s.sort, s.noDelFlag, s.systemType,s.systemUrl) " +
			" from TbSystem s where s.systemName like CONCAT('%',:systemName,'%') ")
	List<SystemVo> findSystem(@Param("systemName") String systemName);
}
